package com.sixsixsixstudy.rm;

import com.sixsixsixstudy.common.XA;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author SUN
 * @date 2023/4/1
 */
@Slf4j
@Data
@Component
public class ResourceManager implements XA {
    
    /**
     * 回复
     * <p>
     * 回复 TRUE(OK) 可以继续 / 回复 FASLE(), 不可以继续
     */
    private Boolean ack;
    
    @Override
    public boolean prepare() {
        log.info("收到 PREPARE 请求，回复 true");
        return true;
    }
    
    @Override
    public void commit() {
        log.info("执行事务提交 COMMIT 操作");
    }
    
    @Override
    public void rollback() {
        log.info("执行事务回滚 ROLLBACK 操作");
    }
}
